Loss of sensitive and valuable data stored in computer systems in home and work environments is common. The computer data is vulnerable to theft, natural disasters, hard drive failures, malicious virus attacks, and even accidental deletion by the user. Conventional data backup techniques include offline backup methods as well as online backup methods. The offline backup approach typically involves backing up data on-site, using on-site hardware and media such as compact discs, digital discs, external hard drives, etc. However, the offline backup approach does not allow the user to remotely access backed-up data without having the medium storing the backed-up data.
In contrast to the offline data backup approach, the online data backup approach involves backing up data over a network connection to a remote location. Various online backup services provide users with solutions for automatically and securely backing up user data. The online backup services typically include a backup client software program that collects and transfers computer files from a client device to remote servers managed by the remote backup service providers.
Some of the existing online backup services (e.g., SugarSync) allow users to remotely access backed-up files from any computer, where Internet is available, using a web-based interface. To allow for remote user access to backed-up files stored in remote storage, online backup services typically employ server-based directories or file systems to determine location of the backup files. For example, the U.S. Patent Application Pub. No. US 2008/0052328 discloses a server application that decouples metadata from encrypted object data, stores the metadata in a server relational file system, and stores the binary object in a server storage repository. The meta data associated with encrypted object data is disclosed to include file information (e.g., title, subject, author, format, size of the file, etc.), as well as operational metadata (e.g., physical location or locations of each binary object, encryption information including encryption method and encryption key, compression method, and relationship to other objects in the system). Accordingly, retrieval of the encrypted object is facilitated by the operational metadata stored in the relational file system of the remote server.
In addition, users may remotely access backed-up data using portable devices such as mobile phones. Caching data at the mobile client is an important technique for improving performance and relieving bandwidth constraints prevalent in mobile environments. Maintaining copies of remotely backed-up data in the local memory of the mobile device reduces user requests to retrieve data from the server.
Various cache invalidation strategies ensure that the data stored in the cache of the mobile device is consistent with the data stored on the server. Some of the cache invalidation strategies involve the server notifying the client device of changed files by issuing invalidation reports. Alternatively, the client checks the validity of the cached data upon expiration of a predefined cached data lifetime.